It is known to use adjunct processors in conjunction with communication switching systems to provide communication services in addition to those provided by the switching systems. An illustrative example thereof is the use of a voice message service system in conjunction with a switching system to allow callers to leave voice and call-back messages for called parties served by that switching system and to enable the called parties to retrieve those messages.
An adjunct processor is generally coupled to a switching system via one or more communication links, each one of which connects to a communication port of the switching system. The adjunct processor provides its services over those links. For its proper operation, the adjunct processor often needs to know the status of the connecting links and associated ports from the viewpoint of the switching system. For example, for outcalling--the automatic placing of calls to subscribers to notify them that they have messages waiting for them and to invite them to retrieve the waiting messages--a voice message service system needs to know which ports are considered by the switching system to be in-service and idle so that it can use those ports for outcalling, and which ports are not considered to be in-service and idle (e.g., are considered to be in-service but busy, or out-of-service) so that it can avoid using those ports for outcalling.
To make port status information available to adjunct processors, some switch-to-adjunct interfaces use communication protocols that include messages which allow the adjunct processor to inquire about, and to receive responses about, port status from the switching system. Other interfaces use protocols having only the status-reporting capability without the status-querying capability, allowing the switching system to automatically report port status to the adjunct processor at certain times, such as when a port's status changes. Yet other interfaces have neither a status-reporting nor a status-querying capability, but do allow the adjunct processor to toggle port status at the switching system by sending a command. Under ideal circumstances, these interfaces would be adequate. Under real circumstances, however, there is always the danger that occurrence of an error (e.g., failure of a communication link or loss of a message that is used for reporting port status) will cause the adjunct processor to possess incorrect port status information.
Yet other interfaces use protocols that provide no port-status reporting or toggling capability at all, and therefore leave the adjunct processors without the needed information. They also leave the switching system without means to determine the adjunct processors' view of port status. One such protocol is the widely-used SMSI protocol.